<?php
// /** Error reporting */
// error_reporting(E_ALL);
// // error_reporting(0);
// ini_set('display_errors', TRUE);
// ini_set('display_startup_errors', TRUE);
// date_default_timezone_set('Europe/London');

// define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

// date_default_timezone_set('Europe/London');

// /** Include PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';


// if (!file_exists("14excel5.xls")) {
// 	exit("Please run 14excel5.php first.\n");
// }

// // /**对excel里的日期进行格式转化  excel特殊的转化时间*/
// // function GetData($val){
// // 	$jd = GregorianToJD(1, 1, 1970);
// // 	$gregorian = JDToGregorian($jd+intval($val)-25569);
// // 	return $gregorian;/**显示格式为  “月/日/年”  */
// // }


// My_PhpExcelReadCommon::reads("1362131979.xlsx");

/**
 * excel读取简单类  // 未最终完成  无检查文件是否可读的功能 // 日期要独立处理 为完成
 * 
 * @author Flan 20130305
 *
 */
Class My_PhpExcelReadCommon{
	
	/**
	 * 读取excel的数据
	 * 
	 * @access public 
	 * @param string $sFilePath 文件地址
	 * @return array 二维数组
	 */
	static public function reads($sFilePath){
		
		$objPHPExcel = PHPExcel_IOFactory::load($sFilePath);
		
		$currentSheet = $objPHPExcel->getSheet(0);
		
		// 列数
		$aCoordinate = self::getCoordinate(10);
		$aCoordinateFlip = array_flip($aCoordinate);
		$nMaxCol = $aCoordinateFlip[$currentSheet->getHighestColumn()];
		
		// 行数
		$nMaxRow = $currentSheet->getHighestRow();
	
		
		// 读取excel数据
		$aArray = array();
		
		for($i = 1; $i<=$nMaxRow; $i++){
			$a = array();
			for($j= 0;$j<= $nMaxCol; $j++){
				$val = $currentSheet->getCellByColumnAndRow($j, $i)->getValue();
				$a[] = iconv('utf-8','gb2312', $val);
			}
			$aArray[] = $a;
		}
		
		return $aArray;
	}
	
	/**
	 * 生成excel的列名
	 *
	 * @access public
	 * @param int $nNum 列名组数 默认 10(10*26个)
	 * @return array
	 */
	static private function getCoordinate($nNum=10){
	
		$aCoordinate = array();
	
		$a = 'A';
		for($i=1; $i<=26*$nNum; $i++){
			$aCoordinate[] = $a;
			$a++;
		}
	
		return $aCoordinate;
	}
}
